
*	************************************************************************
* 	File-Name: 		RIO_2014_AgencySelection_replication.do
*	Date:  			15 November 2013
*	Authors: 		Patrick Bayer, Christopher Marcoux, and Johannes Urpelainen
*	Journal:		Review of International Organizations
* 	Paper:			Choosing International Organizations: When Do States and the World Bank 
*					Collaborate on Environmental Projects
*
*	Data Used:  	AgencySelection.dta	
*	Purpose:   		.do file for replication
*	Software:		Stata IC 12.1
*	Machine:		WINDOWS 7
*
*	************************************************************************

clear all

* NB: Please place .do file and data in the same folder
use "./AgencySelection.dta"
set more off, permanently


*	************************************************************************
*	(I) MAIN TEXT
*	************************************************************************

*	************************************************************************
*	1. Main models
*	************************************************************************

eststo clear
eststo: probit IBRD democracy lnprojecttotal green time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)




*	************************************************************************
*	(II) APPENDIX
*	************************************************************************

*	************************************************************************
*	A3 -- Summary Statistics (Table A1)
*	************************************************************************

quietly: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estpost summarize  IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember  if e(sample)


*	************************************************************************
*	A4 -- Correlation Matrix (Table A2)
*	************************************************************************

quietly: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estpost correlate IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember if e(sample), matrix


*	************************************************************************
*	A7 -- Robustness: Additional Specification (Tables A4-A6)
*	************************************************************************

* Main results with project fixed effects (Table A4)
eststo clear
eststo: xi: probit IBRD democracy lnprojecttotal green time time2 time3 i.Focal_Area if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region i.Focal_Area time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region i.Focal_Area time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region i.Focal_Area time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region i.Focal_Area time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region i.Focal_Area time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region i.Focal_Area time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region i.Focal_Area time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region i.Focal_Area time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

* Main results from random random effects model (Table A5)
encode WDI_Name, gen(id)
xtset id 

eststo clear
eststo: xtprobit IBRD democracy lnprojecttotal green time time2 time3 if Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0
eststo: xi: xtprobit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0

* Main results from country level analysis (Table A6)
* NB: Country-level analysis requires a different unit of analysis
* We collapse the data first and label variables accordingly
sort id

collapse (first) region (mean) IBRD democracy lncapgdp2000 lnpopulation Corruption InvestProfile WBEB unscmember (count) GEF_ID, by(id)

label variable IBRD "WB Share"
label variable democracy "Democracy"
label variable lncapgdp2000 "GDP p.c. (logged)"
label variable lnpopulation "Population (logged)"
label variable Corruption "Corruption"
label variable InvestProfile "Investment Profile"
label variable WBEB "WB Executive Board Member"
label variable unscmember "Security Council Member"
label variable GEF_ID "Number of Projects"

label variable region "Region"
label value region regionlabels

eststo clear
eststo: xi: reg IBRD democracy i.region, vce(robust)
eststo: xi: reg IBRD democracy lncapgdp2000 lnpopulation i.region, vce(robust)
eststo: xi: reg IBRD democracy lncapgdp2000 lnpopulation Corruption InvestProfile i.region, vce(robust)
eststo: xi: reg IBRD democracy lncapgdp2000 lnpopulation Corruption InvestProfile WBEB unscmember i.region, vce(robust)

eststo: xi: reg IBRD democracy i.region [aweight=GEF_ID], vce(robust)
eststo: xi: reg IBRD democracy lncapgdp2000 lnpopulation i.region [aweight=GEF_ID], vce(robust)
eststo: xi: reg IBRD democracy lncapgdp2000 lnpopulation Corruption InvestProfile i.region [aweight=GEF_ID], vce(robust)
eststo: xi: reg IBRD democracy lncapgdp2000 lnpopulation Corruption InvestProfile WBEB unscmember i.region [aweight=GEF_ID], vce(robust)

*	************************************************************************
*	A8 -- Robustness: Interaction Models (Tables A7-A9)
*	************************************************************************

* Model with Global Public Good X Project Cost Interaction (Table A7)
* NB: We restore the original dataset 
clear all
use "./AgencySelection.dta"

* Create interaction variable
gen greenXcost = green * lnprojecttotal
label variable greenXcost "Global Public Good X Project Cost"

* Model 1
eststo clear
quietly probit IBRD democracy lnprojecttotal green time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: probit IBRD democracy lnprojecttotal green greenXcost time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 2
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 3
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimate store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 4
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 5
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 6
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 7
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 8
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 9
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test green == green+greenXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model with Global Public Good X Democracy Interaction (Table A8)
* Create interaction variable
gen greenXdemocracy = green * democracy
label variable greenXdemocracy "Global Public Good X Democracy"

* Model 1
eststo clear
quietly xi: probit IBRD democracy lnprojecttotal green time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: probit IBRD democracy lnprojecttotal green greenXdemocracy time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force


* Model 2
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 3
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 4
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 5
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 6
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 7
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 8
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 9
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green greenXdemocracy lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+greenXdemocracy
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model with Democracy X Project Cost Interaction (Table A9)
* Create interaction variable
gen demoXcost = democracy * lnprojecttotal
label variable demoXcost "Democracy X Project Cost"

* Model 1
eststo clear
quietly probit IBRD democracy lnprojecttotal green if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: probit IBRD democracy lnprojecttotal green demoXcost if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 2
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation i.region if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 3
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 4
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 5
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 6
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 7
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 8
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

* Model 9
quietly xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estimates store m2

eststo: xi: probit IBRD democracy lnprojecttotal green demoXcost lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

test democracy == democracy+demoXcost
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)
estadd lrtest m2, force

*	************************************************************************
*	A9 -- Selection Models (Tables A10-A11)
*	************************************************************************

* Estimation results for enabling activity projects (Table A10)
eststo clear
eststo: probit IBRD democracy lnprojecttotal green time time2 time3 if Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0 & EA==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

* Estimation results for full sample (Table A11)
eststo clear
eststo: probit IBRD democracy lnprojecttotal green time time2 time3, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region time time2 time3, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

*	************************************************************************
*	A11 -- Alternative Explanations (Tables A12-A15)
*	************************************************************************

* Estimation results with democratic supermajority in WBEB (Table A12)
gen inter = majWBEB*democracy
label variable inter "Democracy x Supermajority WBEB"

eststo clear
eststo: probit IBRD democracy lnprojecttotal green majWBEB inter time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

eststo: xi: probit IBRD democracy lnprojecttotal green majWBEB inter lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)
test democracy == democracy+inter
estadd scalar waldchi2=r(chi2)
estadd scalar waldp=r(p)

* Estimation results from model with democratic WBEB control (counts) (Table A13)
eststo clear
eststo: probit IBRD democracy lnprojecttotal green demoWBEB time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

* Estimation results from model with democratic WBEB control (shares) (Table A14)
eststo clear
eststo: probit IBRD democracy lnprojecttotal green demoshareWBEB time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green demoshareWBEB lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

* Estimation results with large GEF projects excluded (Table A15)
* Create binary identifier for small projects
gen small = .
replace small=1 if Project_Type=="Enabling Activity" | Project_Type=="Medium Size Project"
replace small=0 if Project_Type=="Full Size Project"
label variable small "Small Projects"

eststo clear
eststo: probit IBRD democracy lnprojecttotal green time time2 time3 if Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation i.region time time2 time3 if Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile i.region time time2 time3 if Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB i.region time time2 time3 if Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year > 1994 & Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if year < 2006 & Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if EA==0 & Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

eststo: xi: probit IBRD democracy lnprojecttotal green lncapgdp2000 lnpopulation Corruption InvestProfile cumIBRD WBEB unscmember i.region time time2 time3 if Multifocal==0 & Cancelled==0 & small==1, vce(cluster WDI_Name)
estat class
estadd r(P_corr)

